#!/bin/bash
<<INTRO

	Projeto "Integradora de Serviços Financeiros (Softbox)", "Novo Vale Presente Sysdata" e "Cartão Pré-Pago ACG". Rotina para a transferência dos arquivos de pagamento do servidor do SCE para o SAP.

	Autor: Agápito Rojas (agapito.rojas@lasa.com.br)

	Versão 1.0 (10/08/2017)
INTRO

BASE=$(basename $0)
DIRDTN="/nfs/ibmsap04_arq_libsap"
DIRSRC="/smb/SAIDA_LASASCE02_ENVIO_SAP"
LOG=/DSOP/DLOG/${BASE%%.*}.log

mount_test(){
	DIR=$1
	TYPE=$2
	if [ "$#" -eq 2 ]; then
		cd ${DIR}
		if [ $? -eq 0 ]; then
			if [ $(df -t ${TYPE} |grep -w "${DIR}" |wc -l) -eq 1 ]; then
				return 0
			else
				return 1
			fi
		else
			return 2
		fi
	else
		return 3
	fi
}	

list_files(){
	if [ $(ls ${DIRSRC}/{BAAV,VLAC,VMRF}????????.????.txt 2>/dev/null |wc -l) -gt 0 ]; then
		return 0
	else
		return 4
	fi
}

timestamp(){
	date "+%Y%m%d.%H%M%S"
}

echo "$(date '+%F - %T') - Início" >>${LOG} 2>&1
mount_test ${DIRSRC} cifs
EXIT=$?
if [ "${EXIT}" -eq "0" ]; then
	mount_test ${DIRDTN} nfs
	EXIT=$?
	if [ "${EXIT}" -eq "0" ]; then
		list_files
		EXIT=$?
		if [ "${EXIT}" -eq "0" ]; then
			rsync -gopv --remove-source-files ${DIRSRC}/{BAAV,VLAC,VMRF}????????.????.txt ${DIRDTN} >>${LOG} 2>&1
			EXIT=$?
			if [ "${EXIT}" -eq "0" ]; then
				echo "Arquivos transmitidos com sucesso" >>${LOG} 2>&1
				echo "Renomeando arquivos" >>${LOG} 2>&1
				cd ${DIRDTN}
				if [ "$(pwd)" = "${DIRDTN}" ]; then
					for FILE in $(ls ${BAAV,VLAC,VMRF}????????.????.txt 2>/dev/null); do
						NEWNAME=T${FILE%%.txt}.$(timestamp).txt
						mv -v ${FILE} ${NEWNAME} >>${LOG} 2>&1
						EXIT=$?
						if [ "${EXIT}" -eq "0" ]; then
							echo "Arquivos renomeados com sucesso" >>${LOG} 2>&1
						else
							echo "Erro ${EXIT} ao renomear os arquivos" >>${LOG} 2>&1
						fi
					done
				else
					echo "Erro ao acessar o destino" >>${LOG} 2>&1
				fi
			else
				echo "Erro ${EXIT} ao transmitir os arquivos" >>${LOG} 2>&1
			fi
		elif [ "${EXIT}" -eq 4 ]; then
			echo "Sem arquivos na origem" >>${LOG} 2>&1
		else
			echo "Erro ${EXIT} ao listar os arquivos" >>${LOG} 2>&1
		fi
	else
		echo "Erro na montagem do destino" >>${LOG} 2>&1
	fi
else
	echo "Erro na montagem da origem" >>${LOG} 2>&1
fi
echo "$(date '+%F - %T') - Fim" >>${LOG} 2>&1
## Fim do script